home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_200 / 255_01 / gpinit.asm < prev    next >
Assembly Source File  |  1988-03-28  |  2KB  |  98 lines

  1.           page   80,132
  2.           page
  3. ;
  4. ;         Kent Cedola
  5. ;         2015 Meadow Lake Court
  6. ;         Norfolk, Virginia  23518
  7. ;
  8.  
  9. dgroup    group  _data
  10.  
  11. _data     segment word public 'data'
  12.           assume ds:dgroup
  13.  
  14.           extrn  _gdtype:byte
  15.           extrn  _gdmaxcol:word,_gdmaxrow:word
  16.           extrn  _gdcolor:byte,_gdmerge:byte,_gdaspc1:word,_gdaspc2:word
  17.           extrn  _gdcur_x:word,_gdcur_y:word
  18.           extrn  _gdwd_x1:word,_gdwd_x2:word,_gdwd_x3:word
  19.           extrn  _gdwd_y1:word,_gdwd_y2:word,_gdwd_y3:word
  20.           extrn  _gdvw_x1:word,_gdvw_x2:word,_gdvw_x3:word
  21.           extrn  _gdvw_y1:word,_gdvw_y2:word,_gdvw_y3:word
  22.           extrn  _gdc_flg:byte,_gds_flg:byte,_gdw_flg:byte
  23.  
  24. _data     ends
  25.  
  26. _text     segment byte public 'code'
  27.  
  28.           assume cs:_text,ds:dgroup
  29.           public _gpinit
  30. _gpinit   proc   near
  31.  
  32.           push   bp
  33.           mov    bp,sp
  34.  
  35.           mov    al,_gdtype
  36.           cmp    al,3
  37.           je     cg
  38.           cmp    al,4
  39.           je     mono
  40.           cmp    al,5
  41.           je     ecd
  42.           jmp    short done
  43. cg:
  44.           mov    ax,3
  45.           mov    _gdaspc1,ax
  46.           dec    ax
  47.           mov    _gdaspc2,ax
  48.           mov    al,0Eh
  49.           jmp    short set
  50. mono:
  51.           mov    al,0Fh
  52.           jmp    short set
  53. ecd:
  54.           mov    ax,3
  55.           mov    _gdaspc1,ax
  56.           inc    ax
  57.           mov    _gdaspc2,ax
  58.           mov    al,10h
  59. set:
  60.           xor    ah,ah
  61.           int    10h
  62. done:
  63.           xor    ax,ax
  64.           mov    _gdcolor,al
  65.           mov    _gdmerge,al
  66.           mov    _gdcur_x,ax
  67.           mov    _gdcur_y,ax
  68.           mov    _gdwd_x1,ax
  69.           mov    _gdwd_y1,ax
  70.           mov    _gdvw_x1,ax
  71.           mov    _gdvw_y1,ax
  72.           mov    _gdc_flg,al
  73.           mov    _gds_flg,al
  74.           mov    _gdw_flg,al
  75.  
  76.           mov    ax,_gdmaxcol
  77.           mov    _gdwd_x2,ax
  78.           mov    _gdvw_x2,ax
  79.           inc    ax
  80.           mov    _gdwd_x3,ax
  81.           mov    _gdvw_x3,ax
  82.           mov    ax,_gdmaxrow
  83.           mov    _gdwd_y2,ax
  84.           mov    _gdvw_y2,ax
  85.           inc    ax
  86.           mov    _gdwd_y3,ax
  87.           mov    _gdvw_y3,ax
  88.  
  89.           cmp    _gdtype,3
  90.  
  91.           pop    bp
  92.           ret
  93.  
  94. _gpinit   endp
  95.  
  96. _text     ends
  97.           end
  98.